<#assign object = doc.objects>
package ${object.package}.gwt.client.constants;

public interface Constants extends com.google.gwt.i18n.client.Constants {

<#list object["/objects/object"] as model>
	<#list model.attributes?children as att>
		<#if att.caption[0]??>
			<#list att.caption as cap>
				<#if cap.@language == object.defaultLanguage>
  					<#if cap.@table[0]??>
  @DefaultStringValue("${cap.@table}")
  @Key("${model.name}.${att.@name[0]!att.@class}.table")
  String ${model.name?uncap_first}_${att.@name[0]!att.@class}_table();
  					<#else>
  @DefaultStringValue("${cap.@form}")
  @Key("${model.name}.${att.@name[0]!att.@class}.table")
  String ${model.name?uncap_first}_${att.@name[0]!att.@class}_table();
  					</#if>
  @DefaultStringValue("${cap.@form}")
  @Key("${model.name}.${att.@name[0]!att.@class}.form")
  String ${model.name?uncap_first}_${att.@name[0]!att.@class}_form();	
  				</#if>
			</#list>
		<#else>
			<#if att?node_name != "set" && att?node_name != "object" && att?node_type == "element">
  @DefaultStringValue("${att.@name[0]!att.@class}")
  @Key("${model.name}.${att.@name[0]!att.@class}.table")
  String ${model.name?uncap_first}_${att.@name[0]!att.@class}_table();
  
  @DefaultStringValue("${att.@name[0]!att.@class}")
  @Key("${model.name}.${att.@name[0]!att.@class}.form")
  String ${model.name?uncap_first}_${att.@name[0]!att.@class}_form();
  			</#if>
  		
  			<#if att?node_name == "set" && att?node_type == "element">
  @DefaultStringValue("<#if att.@plural[0]??>${att.@plural}<#else>${att.@class?uncap_first}s</#if>")
  @Key("${model.name}.<#if att.@plural[0]??>${att.@plural}<#else>${att.@class?uncap_first}s</#if>.table")
  String ${model.name?uncap_first}_<#if att.@plural[0]??>${att.@plural}<#else>${att.@class?uncap_first}s</#if>_table();
  
  @DefaultStringValue("<#if att.@plural[0]??>${att.@plural}<#else>${att.@class?uncap_first}s</#if>")
  @Key("${model.name}.<#if att.@plural[0]??>${att.@plural}<#else>${att.@class?uncap_first}s</#if>.form")
  String ${model.name?uncap_first}_<#if att.@plural[0]??>${att.@plural}<#else>${att.@class?uncap_first}s</#if>_form();
  
  			</#if>
		</#if>
		
		<#if att?node_name == "enum" && att?node_type == "element">
  			<#list att.element as value>
  				<#if value.caption[0]??>
  					<#list value.caption as cap>
  						<#if cap.@language == object.defaultLanguage>
  							<#if cap.@table[0]??>
  @DefaultStringValue("${cap.@table}")
  @Key("${model.name}.${att.@class}.${value.@name}.table")
  String ${model.name?uncap_first}_${att.@class}_${value.@name}_table();
  							<#else>
  @DefaultStringValue("${cap.@form}")
  @Key("${model.name}.${att.@class}.${value.@name}.table")
  String ${model.name?uncap_first}_${att.@class}_${value.@name}_table();
  							</#if>
  @DefaultStringValue("${cap.@form}")
  @Key("${model.name}.${att.@class}.${value.@name}.form")
  String ${model.name?uncap_first}_${att.@class}_${value.@name}_form();
  						</#if>
  					</#list>
  				<#else>
  @DefaultStringValue("${value.@name}")
  @Key("${model.name}.${att.@class}.${value.@name}.table")
  String ${model.name?uncap_first}_${att.@class}_${value.@name}_table();
  
  @DefaultStringValue("${value.@name}")
  @Key("${model.name}.${att.@class}.${value.@name}.form")
  String ${model.name?uncap_first}_${att.@class}_${value.@name}_form();
  				</#if>
  			</#list>
  		</#if>
  
		<#if att.help[0]??>
			<#list att.help as help>
				<#if help.@language == object.defaultLanguage>
  @DefaultStringValue("${help}")
  @Key("${model.name}.${att.@name}.help")
  String ${model.name?uncap_first}_${att.@name}_help();
   
   				</#if>
			</#list>
		</#if>
	</#list>
</#list>

}
